1. Field of the Invention
The present invention relates to a system and method for selectively sharing data contained in a network routing device with an associated host device. More particularly, the invention relates to a system and method for enabling routing device hardware to provide selective access by a host device to shared memory within the routing device, thus restricting the host's ability to access data not intended for use by the host.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed. In this type of network, each user terminal is capable of operating as a base station or router for other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Accordingly, data packets being sent from a source mobile node to a destination mobile node are typically routed through a number of intermediate mobile nodes before reaching the destination node.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in a conventional ad-hoc network, further enable the mobile nodes to access a fixed network and communicate with other types of user terminals, such as those on the public switched telephone network (PSTN) and on other networks, such as the Internet. Details of these types of ad-hoc networks are described in U.S. Pat. No. 7,072,650 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, issued on Jul. 4, 2006, U.S. Pat. No. 6,807,165 entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, issued on Oct, 19, 2004, and in U.S. Pat. No. 6,873,839 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, issued on Mar. 29, 2005, the entire content of each being incorporated herein by reference.
Generally, all nodes in a wireless ad-hoc peer-to-peer network provide similar core services and functionality, although their specific functionality can depend on their intended purposes, such as use as an access point, fixed router or mobile terminal. Although each node can provide similar services, the workload is typically distributed across many nodes rather than centralized at a single location in the peer-to-peer network. Therefore peer-to-peer networks distinguish themselves from infrastructure networks where one or more nodes offer a superset of the functionality of the rest of the network. Infrastructure nodes in these networks typically can handle Dynamic Host Configuration Protocol (DHCP), Address Resolution Protocol (ARP), as well as other services that depend on broadcast traffic. Dynamic Host Configuration Protocol is defined by IETF RFC 2131 and 2132, which are incorporated herein by reference, and is used by a client node to automatically obtain network settings from a central server. These network settings include the client's IP address, the address of Domain Name Servers (DNS), the IP address of default gateways, and many other network settings. Address Resolution Protocol is defined by STD 0037 and RFC 0826, which are incorporated herein by reference, and is used by a network node to map IP addresses to MAC addresses so IP traffic can be delivered to specific hardware. Such infrastructure nodes are normally discovered by broadcast traffic advertisements from their client nodes in a network.
As can be appreciated by one skilled in the art, traffic in such networks includes direct and indirect communications, in which nodes can be used as routers while both stationary or mobile. A mobile node typically includes a host, such as a personal computer (PC) or personal digital assistant (PDA), with an attached transceiver and a controller. A mobile node can further include a network interface device coupled to a host device, which allows the host device communication access with the network. The transceiver of the mobile node receives data packets, such as voice, data or multimedia data packets, from other nodes, and the controller determines which data packets are intended for it's associated host. If a data packet is intended for the associated host, the host is notified to retrieve the packet. If the packet is not intended for the associated host, the controller determines the next node to which the data packet should be sent based on routing table or similar information, and controls the transceiver of the mobile node to send the data packet to the next node.
In traditional networks where the user nodes do not re-route traffic, the network interface device will inspect an incoming packet header and store packet data only if it is destined for the host device associated with the network interface device. Therefore, the host never has the opportunity to examine data which is intended for other devices. However, once a device is required to reroute packets to a destination device other than the associated host as in an ad-hoc network, all packets must be captured and evaluated by the routing device. Once a packet is captured by a network interface device, it then may become susceptible to unauthorized access by the associated host device.
However, the ability to selectively share data between a routing device and an associated host, such as a personal computer, is necessary in a wireless ad-hoc network. This allows a subscriber to have an access point for extracting or sending data through the network. Because the vast majority of routing resources or nodes that exist in a multihopping, ad-hoc network each route data that is not intended for its associated host, precautions must be taken to insure that only data intended for the node's associated host can be extracted from the routing device in the node. However, many of the methods for achieving this are either inefficient in their ability to route data, require use of multiple memories, or are insecure.
Accordingly, a need exists for a system and method for protecting data traveling through a network by ensuring that a host device may only access data that was intended for access by that host device.